home *** CD-ROM | disk | FTP | other *** search
/ Windows Expert / Windows Expert.iso / windownt / resc.zip / RESCONV / RESCONV.H < prev   
C/C++ Source or Header  |  1992-07-13  |  8KB  |  250 lines

  1. /*
  2.  *
  3.  *  OS/2 to Windows resource conversion utility include file
  4.  *
  5.  */
  6.  
  7. #include <windows.h>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <malloc.h>
  11. #include <string.h>
  12.  
  13. #define HFILE HANDLE
  14. #define FALSE  0
  15. #define TRUE   1
  16. #define _fstrlen strlen
  17. #define _fstrncpy strncpy
  18. #define _fstrchr strchr
  19. #define _fmalloc malloc
  20. #define _ffree   free
  21.  
  22.  
  23. /*  Additional constants */
  24.  
  25. #define not         !
  26. #define cant        !
  27. #define no          !
  28. #define forever     for ( ; ; )
  29.  
  30. /*  Define NULL appropriately */
  31.  
  32. #if defined (NULL)
  33. #undef  NULL
  34. #endif
  35. #define NULL 0L
  36.  
  37. /*  Additional types */
  38.  
  39. #define ptr FAR *
  40.  
  41. typedef unsigned char  uchar;
  42. typedef unsigned short uint;
  43. typedef unsigned short ushort;
  44. typedef unsigned long  ulong;
  45. typedef unsigned short flag;
  46.  
  47. /*  Maximum file name size */
  48.  
  49. #define MaxFile 260
  50.  
  51. /*  Miscellaneous macro functions */
  52.  
  53. #define ucharsizeof(x)  ((sizeof (x) + sizeof (uchar)  - 1) / sizeof (uchar))
  54. #define MAX(a, b)  ((a) > (b) ? (a) : (b))
  55. #define MIN(a, b)  ((a) < (b) ? (a) : (b))
  56.  
  57. /*  Useful defines. */
  58.  
  59. #define max_buffer_bytes            8192
  60. #define max_string_size             512
  61. #define max_comment_size            2048
  62. #define max_identifier_size         32
  63.  
  64. /*  These literals are returned by the get_char_case procedure. */
  65.  
  66. #define char_case_none              0
  67. #define char_case_lower             1
  68. #define char_case_upper             2
  69.  
  70. /*  Defines for special characters. */
  71.  
  72. #define char_quote_double           '"'
  73. #define char_minus                  '-'
  74. #define char_plus                   '+'
  75. #define char_slash                  '/'
  76. #define char_back_slash             '\\'
  77. #define char_dot                    '.'
  78. #define char_star                   '*'
  79. #define char_comma                  ','
  80. #define char_pipe                   '|'
  81. #define char_space                  ' '
  82. #define char_bracket_begin          '{'
  83. #define char_bracket_end            '}'
  84. #define char_underscore             '_'
  85. #define char_less_than              '<'
  86. #define char_greater_than           '>'
  87. #define char_pound_sign             '#'
  88. #define char_eof                    0xFF
  89. #define char_tab                    0x09
  90. #define char_lf                     0x0A
  91. #define char_cr                     0x0D
  92.  
  93. /*  Token type defines. */
  94.  
  95. #define tok_undefined                0
  96. #define tok_numeric                  1
  97. #define tok_string                   2
  98. #define tok_keyword                  3
  99. #define tok_constant                 4
  100. #define tok_filename                 5
  101. #define tok_comma                    6
  102. #define tok_bitor                    7
  103. #define tok_plus                     8
  104. #define tok_pound_sign               9
  105. #define tok_eof                     10
  106.  
  107. /*  Defines for keywords. */
  108.  
  109. #define tok_acceltable              20
  110. #define tok_alt                     21
  111. #define tok_begin                   22
  112. #define tok_bitmap                  23
  113. #define tok_bs_autocheckbox         24
  114. #define tok_bs_autoradiobutton      25
  115. #define tok_bs_checkbox             26
  116. #define tok_bs_default              27
  117. #define tok_bs_help                 28
  118. #define tok_bs_nopointerfocus       29
  119. #define tok_bs_pushbutton           30
  120. #define tok_bs_radiobutton          31
  121. #define tok_cbs_dropdown            32
  122. #define tok_cbs_dropdownlist        33
  123. #define tok_cbs_simple              34
  124. #define tok_char                    35
  125. #define tok_control                 36
  126. #define tok_dialog                  37
  127. #define tok_discardable             38
  128. #define tok_dlgtemplate             39
  129. #define tok_dt_bottom               40
  130. #define tok_dt_center               41
  131. #define tok_dt_left                 42
  132. #define tok_dt_mnemonic             43
  133. #define tok_dt_right                44
  134. #define tok_dt_top                  45
  135. #define tok_dt_vcenter              46
  136. #define tok_dt_wordbreak            47
  137. #define tok_end                     48
  138. #define tok_es_autoscroll           49
  139. #define tok_es_center               50
  140. #define tok_es_left                 51
  141. #define tok_es_margin               52
  142. #define tok_es_right                53
  143. #define tok_fcf_sysmenu             54
  144. #define tok_fcf_titlebar            55
  145. #define tok_fixed                   56
  146. #define tok_frame                   57
  147. #define tok_fs_border               58
  148. #define tok_fs_dlgborder            59
  149. #define tok_fs_mousealign           60
  150. #define tok_fs_nobytealign          61
  151. #define tok_icon                    62
  152. #define tok_include                 63
  153. #define tok_loadoncall              64
  154. #define tok_ls_horzscroll           65
  155. #define tok_ls_multiplesel          66
  156. #define tok_menu                    67
  157. #define tok_menuitem                68
  158. #define tok_mia_disabled            69
  159. #define tok_mis_bitmap              70
  160. #define tok_mis_break               71
  161. #define tok_mis_ownerdraw           72
  162. #define tok_mis_text                73
  163. #define tok_moveable                74
  164. #define tok_pointer                 75
  165. #define tok_preload                 76
  166. #define tok_rcinclude               77
  167. #define tok_resource                78
  168. #define tok_sbs_horz                79
  169. #define tok_sbs_vert                80
  170. #define tok_separator               81
  171. #define tok_shift                   82
  172. #define tok_stringtable             83
  173. #define tok_ss_fgndframe            84
  174. #define tok_ss_groupbox             85
  175. #define tok_ss_halftoneframe        86
  176. #define tok_ss_text                 87
  177. #define tok_submenu                 88
  178. #define tok_virtualkey              89
  179. #define wc_button                   90
  180. #define wc_combobox                 91
  181. #define wc_entryfield               92
  182. #define wc_listbox                  93
  183. #define wc_scrollbar                94
  184. #define wc_static                   95
  185. #define tok_ws_clipsiblings         96
  186. #define tok_ws_group                97
  187. #define tok_ws_savebits             98
  188. #define tok_ws_tabstop              99
  189. #define tok_ws_visible              100
  190. #define tok_dt_halftone         101
  191. #define tok_fcf_nobytealign        102
  192. #define tok_dlginclude            103
  193. #define tok_ls_ownerdraw        104
  194. #define wc_mle                105
  195. #define tok_mls_vscroll         106
  196. #define tok_mls_wordwrap        107
  197. #define tok_helptable            108
  198. #define tok_helpsubtable        109
  199. #define tok_mls_border            110
  200. #define tok_syscommand            111
  201. #define tok_mis_syscommand        112
  202. #define tok_mis_submenu         113
  203. #define tok_ss_icon            114
  204. #define tok_did_ok            115
  205. #define tok_did_cancel            116
  206. #define tok_fs_icon            117
  207. #define tok_mia_checked         118
  208. #define tok_fcf_dlgborder        119
  209. #define tok_mis_separator        120
  210. #define tok_ltext            121
  211. #define tok_rtext            122
  212. #define tok_ctext            123
  213. #define tok_radiobutton         125
  214. #define tok_autoradiobutton        126
  215. #define tok_checkbox            127
  216. #define tok_autocheckbox        128
  217. #define tok_pushbutton            129
  218. #define tok_defpushbutton        130
  219. #define tok_listbox            131
  220. #define tok_groupbox            132
  221. #define tok_entryfield            133
  222. #define tok_fcf_minbutton        134
  223. #define tok_fcf_icon            135
  224. #define tok_mis_breakseparator        136
  225. #define tok_mis_buttonseparator    137
  226.  
  227. /*  Defines for different error messages. */
  228.  
  229. #define err_undefined                0
  230. #define err_full_put_char_buffer     1
  231. #define err_full_put_token_buffer    2
  232. #define err_no_source_file           3
  233. #define err_unexpected_comment_char  4
  234. #define err_unexpected_eof           5
  235. #define err_string_too_long          6
  236. #define err_identifier_too_long      7
  237. #define err_value_too_big            8
  238. #define err_invalid_syntax           9
  239. #define err_invalid_character       10
  240. #define err_bad_menu_option         11
  241. #define err_bad_load_option         12
  242. #define err_bad_dialog_option       13
  243. #define err_bad_control_class       14
  244. #define err_bad_accel_option        15
  245. #define err_convert_resources       16
  246.  
  247.  
  248. // John Hall additions
  249. extern int is_debug_on;
  250.